package com.paic.mhis.hcpms.quota.exportword.biz.service;

import java.util.Map;

import com.paic.mhis.hcpms.quota.exportword.dto.KpiBatchDTO;

/**
 * 导出word操作
 * 
 * @author: EX-XIONGFEI002
 */
public interface QueryKpiQuotaDataService {

	// -------第一部分和第三部分任务----------------------------------------------------------
	/**
	 * 医疗总费用
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getTotFeeData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 医保费用占总费用比
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 */
	void getMedFeeData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 住院费用
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getHospFeeData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 医保费用占总费用占比
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getRateMedFeeData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 住院:住院药品费用
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getDrugFeeData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 住院:住院其他费用
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getOtherFeeData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 住院:出院人次
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getDischargePeoplesData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 住院:次均费用
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getTimesCostData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 住院:平均住院床日
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getAvgHospBedDayData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 住院:每床日费用
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getCostPerBedDayData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 门诊：门诊费用
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getOutpatFeeData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 门诊：医保费用占门诊占比
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getRateMedFeeInOutpatData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 门诊：门诊药品费用
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getDrugFeeInOutpatData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 门诊：门诊其他费用
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getOtherFeeInOutpatData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 门诊：门诊人次
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getDischargePeoplesInOutpatData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 门诊：次均费用
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getAvgOneTimesFeeInOutpatData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 门诊：门诊人数
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getPeopleTimesOutpatData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 门诊：人均费用
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getAvgPeopleTimesFeeInOutpatData(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	/**
	 * 基金
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getFundData(Map<String, Object> resultMap, Map<String, Object> paramMap, Map<String, Object> kpiQuotaLimitMap,
			KpiBatchDTO kpiBatchDTO);

	/**
	 * 各科室信息
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getWordDeptsContrast(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> kpiQuotaLimitMap, KpiBatchDTO kpiBatchDTO);

	// ------------第二部分-------------------------------------------
	/**
	 * 总费用和医保占比
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getTotFeeAndMedFeeRate(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> limitMap);

	/**
	 * 住院费用和医保本站比
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getHospFeeAndMedFeeRate(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> limitMap);

	/**
	 * 药费和其他费用占比
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getDrugFeeAndOtherFeeRate(Map<String, Object> resultMap, Map<String, Object> paramMap);

	/**
	 * 出院人次和次均费用
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getDischargePeoplesAndTimesCostFee(Map<String, Object> resultMap, Map<String, Object> paramMap);

	/**
	 * 每床日费用
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getAvgHospBedDayFee(Map<String, Object> resultMap, Map<String, Object> paramMap);

	/**
	 * 门诊和医保费用占比
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getOutpatFeeAndMedFeeRate(Map<String, Object> resultMap, Map<String, Object> paramMap,
			Map<String, Object> limitMap);

	/**
	 * 门诊：药品和其他费用
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getDrugFeeAndOtherFeeInOutpat(Map<String, Object> resultMap, Map<String, Object> paramMap);

	/**
	 * 门诊：门诊人次和次均费用
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getPeopleTimesAndTimeCostInOutpat(Map<String, Object> resultMap, Map<String, Object> paramMap);

	/**
	 * 门诊:门诊人数和人均费用
	 * @param resultMap			resultMap
	 * @param paramMap			paramMap
	 * @param kpiQuotaLimitMap	kpiQuotaLimitMap
	 * @param kpiBatchDTO		kpiBatchDTO
	 * 
	 */
	void getPeoplesAndPeopleFeeInOutpat(Map<String, Object> resultMap, Map<String, Object> paramMap);

	/**
	 * 获取单一机构月度审查相关数据
	 * @param paramMap 参数列表
	 * @param resultMap 返回结果集
	 */
	void getHosMonthCheckFee(Map<String, Object> paramMap,Map<String, Object> resultMap);
}
